CLASS API
2022-06-23 08:24:05 プロジェクトを削除しました。もう使えません
CLASSが新システムに移行するのに合わせて、旧システムをweb scrapingするserverを削除する必要がありました 新システムはpush通知などまともな機能を搭載しているっぽいので、新しい野良APIは多分作りません
/icons/hr.icon
書式
全てPOSTで使う
次の値をURLSearchParamsとして同時に送信する
userId: 学籍番号
password: password
平文で送ってしまっていますが勘弁してくださいtakker.icon
HTTPS通信で保護されてるから許して
/icons/done.iconhttps://tus-class-api.vercel.app/v1/announces/summary
カテゴリの一覧とお知らせ件数を取得する
/icons/done.iconhttps://tus-class-api.vercel.app/v1/announces/list?category=:categoryId
/icons/done.iconhttps://tus-class-api.vercel.app/v1/announces/announce?category=:categoryId&announce=:announceId
/icons/done.iconhttps://tus-class-api.vercel.app/v1/announces/file?category=:categoryId&announce=:announceId&file=:fileId
Blobで返す
https://tus-class-api.vercel.app/v1/users/me/basic
自分の学籍情報を取得する
https://tus-class-api.vercel.app/v1/users/me/grades
成績情報を取得する
https://tus-class-api.vercel.app/v1/users/me/timetable
時間割を取得する
https://tus-class-api.vercel.app/v1/schedules/:year/:semester/:department/:grade
GET
認証情報を送る必要がない
/icons/done.iconhttps://tus-class-api.vercel.app/v1/syllabuses/search
parameters
year: 年度
defaultはnew Date().getFullYear()
term: 学期のID
defaultは空文字
type: 科目授業種別のID
defaultはall
keyword_course: キーワード検索 (科目名称)
defaultは空文字
keyword_instructor: キーワード検索 (教員氏名)
defaultは空文字
keyword: キーワード検索 (全文)
defaultは空文字
department: 学科のID
defaultはall
例:土木工学科の場合は16A
grade: 学年
defaultは空文字 (全て対象)
day: 曜日
0 から 6まで
defaultはall
hour: 時限
0から6まで
defaultはall
concentration: 集中授業のみ対象とする場合はtrue
defaultはfalse
skip: 検索結果画面の何ページ目を取得するか
0から数える
defaultは0
応答の型
code:ts
type Respose = {
// errorの場合
ok: false;
} | {
ok: true;
query: {/*...*/}; // 検索クエリ
displayQuery : {/*...*/} // フォームで実際に表示される検索クエリ
skip: number;
courses: {
day: number;
hour: number;
}[];
}[];
};
/icons/done.iconhttps://tus-class-api.vercel.app/v1/syllabuses/:year/:courseId
parameters
year: 開講年度
courseId: 授業コード
応答の型
code:ts
type Response = {
label?: string; // <th>の値
value?: string; // <td>の値
}[];
既知の問題
実装したいこと
実装
2022-05-19 07:42:07 久々にrepoを開いたら理科大生のstartがついてた
うれしいtakker.icon
まあCLASSシステムの刷新でそろそろ使えなくなるだろうけど
followしたほうがいいのかな?
test code
localhostもしくはhttps://tus-class-api.vercel.appを開いているタブの開発コンソールに貼り付ける
code:js
(async () => {
const formData = new FormData();
formData.append('userId', 'xxx');
formData.append('password', 'yyy');
await fetch('/vi/announces/summary', {method: 'POST', body: formData});
})();